#ifndef UC_BRMCTL_H
#define UC_BRMCTL_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"


// forward class declarations
class UcBrImpMeshControl;


class DllImpExp UcBrMeshControl : public UcRxObject
{
public:
    UCRX_DECLARE_MEMBERS(UcBrMeshControl);
    virtual ~UcBrMeshControl();

    // Equivalence                    
    ZSoft::Boolean      isEqualTo       (const UcRxObject* other) const;
    
    // Queries & Initialisers
    UcBr::ErrorStatus   setMaxSubdivisions(const ZSoft::UInt32& maxSubs = *(ZSoft::UInt32*)NULL);
	UcBr::ErrorStatus   getMaxSubdivisions(ZSoft::UInt32& maxSubs) const;
    UcBr::ErrorStatus   setMaxNodeSpacing(const double& maxNodeSpace = *(double*)NULL);
    UcBr::ErrorStatus   getMaxNodeSpacing(double& maxNodeSpace) const;
    UcBr::ErrorStatus   setAngTol		(const double& angTol = *(double*)NULL);
    UcBr::ErrorStatus   getAngTol		(double& angTol) const;
    UcBr::ErrorStatus   setDistTol		(const double& distTol = *(double*)NULL);
    UcBr::ErrorStatus   getDistTol		(double& distTol) const;

protected:
    UcBrMeshControl();
    UcBrMeshControl(const UcBrMeshControl& src);
    UcBrMeshControl&	operator =      (const UcBrMeshControl& src);

    UcBrImpMeshControl*	mpImp;
};


#endif